UUParser an Internet file extraction utility for the Macintosh™ By John S. Lee, © 1993,1994. UUParser takes out the header information in files that have been uuencoded and uploaded to a newsgroup. UUParser also allows you to "S"ave multiple articles from newsgroups, normally in several parts, and re-assembles them as one contiguous file ready for uudecoding. UUParser can also automatically uudecode files for you. Directory FEATURES - What's so good about UUParser? INSTRUCTIONS - Getting UUParser set up for the first session. Drag & Drop - Stuff you can do from the desktop. FILE MANIPULATION (FILE MENU) - How to UUParse. UUParse/UUParse Several - Get a file, parse it! Join Files - Join several files together as one large file. Split File - Take a file and automatically split it. UUDecode - uudecode a file. UUEncode - uuencode a file. PREFERENCES (in the FILE MENU) - Make UUParser work for YOU. Delete - get rid of the file after it has been parsed. Show Status - how much farhter before parsing is done? Scan - Find the non-ascii nasties in a file. Set Default Encoding - Here's how I want to encode a file. PC - Use this for MS-DOS machines. UNIX - The standard for posting on UNIX systems. MAC - Need I say more? Long filenames; what more do U need? AIFF->ULAW - Convert aiff to Sun or NeXT format. AIFF->Linear - Convert AIFF to Macintosh Linear format. EDIT FILE TYPES (in the EDIT MENU) - How to make UUParser "SMART" SPECIAL - Well isn't it? Scan Only - Are there any non-ascci nasties in this file? Auto UUDecode - After parsing, decode it and save it. Set Target Directory - Where do you want to put your parsed files? REGISTRATION - If you use this program you MUST do this! CREDIT - To each his/her proper due! COLD MOD STUFF - A program is NEVER finished, it just EVOLVES. UUParser Internals & Notes - Do's, how's, why's, where's, dont's! Upgrades - I'm registered, where's my upgrade?!? Future Additions - What's gonna happen with UUParser in the next rev.? Hints - You mean, I can do that? Features • Automatic stripping of header information from files "S"aved from a usenet newsgroup. • "Smart" uudecoding. Fully user configurable. • uuencoding of AIFF (sound) files is now supported. • uuencoding in PC, UNIX, and AIFF formats. • User control over output file location. • Join multiple text files for UUParsing & automatic decoding, from the menu OR the desktop. • Split any text file into multiple parts using the Split File function. • User configurable preferences. • Automatic scan of text files for anomalies. • Drag & Drop UUParsing supported via System 7. • Parsing/uudecoding/encoding occurs in the background. • Decodes/encodes/parses ANY SIZE FILE, regardless of memory. • The FASTEST uudecoding/encoding available for the Mac! Instructions Double-click on the application "UUParser" (Note: If this is the first time you have used UUParser or are upgrading from a previous version you MUST set the Target Directory!) Select Set Target Directory from the Special menu so that UUParser knows where to put the output files. This directory will also be used as the defualt for placement of decoded files. (see note above) Select Auto UUDecode from the SPECIAL menu if you want to automatically uudecode the parsed files. Select UUParse or UUParse Several from the FILE menu. Select the file you want to parse. Choose another file or CANCEL (cmd .). If you did not choose to Auto UUdecode your file you can uudecode it using UUDecode from the FILE menu. DRAG & DROP Select the documents you want to parse and drag them to the UUParser icon. The application will start and the files will be parsed, decoded and placed in you target directory. *Holding down the CMD key will automatically join the files! File Manipulation UUParse/UUParse Several Opens files(s) for parsing. Join Files Takes any number of files parses them and concatentates them. Choose the first file to join. Subsequent selections are attached to the first file. Parse the file and it's ready to uudecode. Split File Takes a file and seperates it into sections of 900 lines each. Each can then be uploaded to a newsgroup in succession for someone to retrieve and re-assemble. This feature AUTOMATICALLY installs BEGIN/END cut lines in each of the files it generates. UUDecode (smart) uudecodes file(s) that has been parsed. Before decoding it determines, by parameters you set (see Set File Types), what type of file type it should be set to. Once decoded it appears on the desktop as a document of the application you specify. UUEncode (configurable) uuencodes a file. UUParser can encode items in PC/MS-DOS, UNIX, AIFF->Linear (for sound), and AIFF->ULAW (for sound). UUParser will also give create a filename in the proper format for the encoding scheme chosen (i.e. if you chose MS-DOS the filename will be 8chars.ext.; UNIX will have all whitespace replaced by "_"). The default scheme is UNIX, but you can change it from the MENU Encode Options, or in the Preferences dialog box. If Mac is chosen the scheme will use the UNIX encoding, but use the Macintosh conventions for the filename. Edit File Types This function allows you to select a string that UUParser will use to set the file's type and creator (so that they are recognized by the Finder and your favorite application(s). You select it from the Edit menu. You enter the file suffix along with the file type and creator associated with the file. You are allowed 10 entries. Many of them are already set up for you. (example file.jpg: file suffix: .jpg file type : JIFF file creator : JVWR This sample shows that any file that is decoded that has the ".jpg" extension in the filename will be set to the JPEGViewer file type. This allows JPEGView to open the file directly from the finder without first "fixing" the file.) The file suffix can be in upper/lower/mixed case. UUParser will correctly set the type/creator! Preferences READ FILE IN BLOCKS (on/off) [Default - ON] Read a file using the availble memory. Use this option if you are trying to parse a file that is larger than the available memory (i.e a 900k file, and UUParser has a 640k partition). DELETE SOURCE FILE (on/off) [Default - OFF] Delete the soruce file once the scanning/parsing process has been done. DELETE INTERMEDIATE FILE (on/off) [Default - OFF] Delete the intermediate ( xxx filename.ext) file once the scanning/parsing process has been done. SHOW STATUS (on/off) [Default - ON] Show progess indicator, just to let you know how much of the file has been scanned/parsed. SCAN before parsing (on/off) [Default - ON] Check each character in the file to amke sure it is an ascii "printable" character. Prevents bad data (from a bad transmission or poor line conditions) from being interpreted by the uudecoding function. Set Default Encoding: PC - Uses pc-encoding. Use this option when dealing with those, er, MS-DOS machines. UNIX - Uses standard uuencode technology. This is the accepted standard on Usenet Newsgroups. This is the default setting. MAC - Uses the UNIX standard of encoding BUT uses the Macintosh filenaming convention (anything goes except ":"). This version of UUParser is not intended to be used for encoding of applications, just documents and data files. Therefore there is no guarantee that if you encode an app that you will be able to get it back (since UUParser ONLY encodes the data portion of files!). AIFF->ULAW - Convert AIFF file to ULAW format (useful when transferring sounds to Sun or NeXT workstations. AIFF->Linear - Convert AIFF file to Macintosh Linear format. The OK button makes the changes for the session only. No changes are saved to the prefs file. The SAVE button writes the changes to the prefs file. Special Scan Only The SCAN ONLY disables all parsing/decoding functionality and scans the files for non-printable characters. If it finds these characters it issues a warning with what it found. Auto UUDecode This function allows automatic uudecoding of files that have been parsed. By default this option is ON. While this function is enabled UUParsing & uudecoding occur in one pass. The files are placed in your Target Directory (see below). Set Target Directory NOTE:When using UUParser for the first time you MUST set the target directory. This is where all your UUParsed files will go! If it is not set, UUParser will put the files in it's home directory OR the desktop! Set target directory lets UUParser know where to put your file once it has been parsed. This is also handy because that directory will be the first one looked into when the Auto UUDecode option has been chosen. Making the process of parsing/decoding truly one step and painless. Cold Mod Stuff An abbreviated, but accurate history: (Version 0.9) Initial Coding (Version 0.9b) Added multiple-file parsing additional conditions for parsing (Version 1.0) Added faster parsing. Better memory management parsing in memory. (Version 1.1) Added uudecoding w/ automatic file type/creator setting. (Version 1.1f) Better error detection of files that have no "end" markers. Added Join Files capability. (Version 1.2) Added multiple-file drag-drop parsing functionality. Data errors are not reported on a byte/byte basis, just once. Parsing process is speeded up ten-fold. Operates on a 100k file in 1.5 secs (as tested on a IIsi w/o math). uudecode speeded up. Create versions of UUParser for each type of platform: 1.2 -> for all macs 68000 and up 1.2(020) -> for macs w 68020/68030/68040 w/o math co. 1.2(020/881) -> all macs w/ 020/030/040 & math co. (Version 1.3) Added uuengine technology. Background processing when uudecoding. UUdecode/encode window is now movable. Have the option of continuing when disk errors occurs. (previously it exited the program!). Can now select target directory for uudecoded files. (Version 1.5) Added configurable uuencoding, smart uudecoding, selection of automatic type/creator, splitting of files, selection of encoding scheme from menu, setting of target directory for UUParsed files, multiple file selection when decoding. Auto-Decode automatically set to "ON". Universal code now compatible with ALL Macintoshes (running sys 7). (Version 1.7) Better memory management. UUParser can parse large files regardless of the amount of memory available to the application. UUParser can parse in the background. UUParser now notifies you when parsing has completed (when running in the background). You can have UUParser rename the files in upper case. During Drag & Drop, if you hold down the COMMAND key, UUParser will automatically Join the files for you. (Version 1.71) Allows parsing of files irregardless of amount of memory. Decreased the allocated memory size to 384k. (Version 1.72) First registered users version. Removed memory restrictions for joining. Fixed file locking problem during abort. UUParser Internals & Notes UUParser stores the preferences info in the UUP Prefs file in the Preferences folder in your System Folder. The Prefs consists of UUParser parsing options, encoding prefs, and target directory info. The file suffix parms that make UUParser "smart" are stored in the AtTr & STR# resources. Because UUParser makes certain assumtions about these files you should not change them directly! If you do UUParser will not work properly or at all. If you have to make changes, use UUParser's Preferences from the File menu to do so! If you have a previous version of UUParser (0.9-1.2) you may get a disk error when the program is started. This is becuase the Prefs file format is different in 1.7 than in previous versions. Dont worry. Just hit the continue button, set up your preferences, choose a target directory and the problem will be corrected (be sure to SAVE your prefs). I wanted to make UUParser useful for systems 6 & 7. Since system 7 has so many nicetites when it comes to file handling I decided that version 1.7 and up would be reliant on system 7 for proper usage. Some items may not work properly if you are not using system 7. The "use 20 times and pay" policy was my idea of fair. Most shareware programs have a 30 days policy, but I figured that after a certain amount of uses you would get a good idea as to UUParsers worth. 20 was the number I came up with. Why did I mention this? To once again encourage you to use it, and pay for it once you have used it 20 times. There will be upgrades and additions that you will get ONLY if you are registered. Upgrades To keep things simple, cheap, and virtual, I will e-mail all upgrades to UUParser's registered owners. If you prefer a copy mailed to you, send a self-adressed-stamped-envelope and a blank disk + $5 for p&h and my time (you only have to do this once. After that just mail the disk BACK to me and I'll send you the latest version. I'll cover the return postage). As soon as I get the mailer, I will send it back with the latest version. I will also notify you of any changes and future upgrades via e-mail so make sure you indicate your e-mail address so I can put you on the list. If you are not registered there are two options: Send in the $10 registration fee. I will e-mail you the latest version. or Send in $15 as the registration fee. I will mail you a copy of the latest version on disk. Future Additions UUParser was originally designed to do one thing, parse files. Now it has many features and additions that extends that basic philosophy. It is now a full fledged uudecoder/uuencoder, file splitter, and text file verifier. But the fans, and registered users of UUParser have asked for even more, and I am more than happy to include these additions for UUParser users. The next major release will be 2.0. There may be intermediate versions until 2.0, but these will concentrate on mods to version 1.5 technology. Version 2.0 will be avaialble to registered users only. Version 2.0 will include: •Control over the parameters of file splitting. •Control over parsing parameters. •A more versatile join function. •Encode/decode Mac apps. •Binhex encode/decode, along with parsing files that have been binhex'ed and sent to newsgroups. •Preview of gif, jpeg files. ...and LOTS more! Hints • To save time if you have multiple files "Join" them into one file, then parse the joined file. If Auto-UUDecode is on ALL of the files will be decoded and placed in your Target Directory. Make sure you allocate enough memory for this operation. • If you get -1 disk errors while decoding it means that the file is corrupt. Some people have trouble sending files to newsgroups. You can attempt to fix the file with a text editor or try another file. • Disk errors that occur when the program is loading are most likely due to an error UUP Prefs file. You should be able to continue. Reset your preferences, set your target directory, and save the changes. This will correct the file. If it does not work, delete the prefs file and re-start UUParser (the file is in "System Folder: Preferences:UUP Prefs"). • If you get disk errors while UUParsing or uudecoding they are most likely due to the target directory not being set. Remember to set up your Target Directory when you use UUParser for the first time. The changes are saved to the preferences file. • Some people do not put cut lines in their files. Instead they use line breaks, or worse yet, blank lines. There really is no universal rule about posting to a newgroup. If you have problems with a file check it out with a text editor, delete the offending lines, UUParse the file again,and re-attempt decoding. If this does not work the file is probably bad. • Remember when Joining, the files must be in the right order if you are planning to parse/decode them. Take great care in the join process. • I am always looking for ways to improve this product. If you have any ideas as to what you'd like to see UUParser do, that it does currently not do, or just changes you'd like to see, don't be shy. E-mail me with your suggestion. I will get back to you as I am very attentive, caring, and most of all verbose :-) Registration UUParser is SHAREWARE. Use it 20 times. If you like it register it by sending $10.00 (US funds) to: John S. Lee 1600 Fell St. #210 San Francisco, CA. 94117 e-mail (for bug reports, enhancement requests, and questions): Internet-> jsl@netcom.com By registering you are entitled to updates of UUParser as they become available. This HELP document does not replace the documentation. Reference it for additional technical information about UUParser. THANKS for using UUParser :) Credits Programming/Design: John S. Lee Testing : Mike Baranowski & Brian K. Tanaka Support : Arlene G. Lee & Sultan I. Lee uu-engine software : B. Wieser & Octavian Micro Development Documentation : Mike Baranowski & John S. Lee uudecode info : Peter Honeyman, Robert Perlberg, and Tim Rose Help Dialog Utility : James W. Walker Special Props : Brian K. Tanaka for the ever consistent "You know, it would be even better if..." & "You know what you oughta add is..." Mike Baranowski for the ever present "Is there a way of..." & "...can you add this one other mod...". B. Wieser for user interface suggestions. To ALL of them for the many ideas that makes UUParser useful and fun to use. uu-engine Copyright 1991 by B. Wieser and Octavian Micro Development. Macintosh™ is a registered trademark of Apple Computer, Inc. UNIX™ is a registered trademark of AT&T Information Systems. Legal note: Use the software at your own risk. I am not responsible for lost data. The program has been tested as best it could be. I make no other warranties, either expressed or implied. UUParser is Copyright 1993,1994 by John S. Lee & Truly Mac, Inc. All Rights Reserved.